package pe.gob.servir.web.apps.censodirectivo.controller.util;

import java.util.Date;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
 
@FacesValidator("fechaActualValidador")
public class FechaActualValidador implements Validator {
    @Override
    public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
    	if (value == null) {
            return;
        }
         
        //Leave the null handling of startDate to required="true"        
        Date nowDate = JSFUtil.convertirStringDate(JSFUtil.convertirDateToString(new Date(),"dd/MM/yyyy"),"dd/MM/yyyy");
        System.out.println("Fecha ACtual: "+nowDate);
        Date preDate = (Date)value;
        Date endDate = JSFUtil.convertirStringDate(JSFUtil.convertirDateToString(preDate,"dd/MM/yyyy"),"dd/MM/yyyy");
        System.out.println("Fecha Inicio: "+endDate);
        if (nowDate.after(endDate) && !nowDate.equals(endDate)) {
             FacesMessage message = new FacesMessage("La fecha Desde no puede ser menor a la Actual");
            message.setSeverity(FacesMessage.SEVERITY_ERROR);
            throw new ValidatorException(message);
        }
    }
}
